//========================
// Filename: game.h
//========================
#ifndef _GAME_H
#define _GAME_H

//===================
// Includes
//===================
#include <iostream>
#include <ostream>
#include <string>

#include <SDL.h>
#include <SDL_opengl.h>

//======================
// My Class Includes
//======================
#include "../openGL/draw.h"

//=====================
// Class: Game
//=====================
class Game
{

public:
	Game(void);
	~Game(void);

	void Run();

private:
	void LogSDLError(std::ostream &os, const std::string &msg);

	bool Initialise();
	void Shutdown();

	void Update();
	void Render();
	void OnEvent(SDL_Event* event);

private:
	bool m_Running;

	SDL_Window* m_SDL_Window;
	SDL_Renderer* m_SDL_Renderer;
	SDL_GLContext m_SDL_GLcontext;

	int m_ScreenWidth, m_ScreenHeight;
};

#endif
